package com.liveneo.adapter.base.support;

import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import com.liveneo.adapter.base.service.LogService;
import com.liveneo.adapter.mobile.model.BaseResponse;
import com.liveneo.adapter.mobile.support.MobileReturnCodeSupport;
import com.liveneo.system.base.utils.EncryptUtil;
import com.liveneo.system.base.utils.JsonUtils;

/**
 * 控制器父类
 */
public class BaseController {
    /**
    * 日志
    */
    protected Logger     logger = Logger.getLogger(getClass());
    @Autowired
    protected LogService logService;

    /** 
     * 处理响应的结果 返回json字符串 并打印日志信息
     * @param response 响应的结果
     * @return 返回json 
     */
    protected String decorateResult(BaseResponse response) {
        String result = JsonUtils.toJson(response);
        // 日志记录响应json
        if (MobileReturnCodeSupport.CODE_SUCCESS.equals(response.getResultCode())) {
            LogUtils.info("返回结果【" + result + "】");
        } else {
            LogUtils.error("返回结果【" + result + "】");
        }
        result = EncryptUtil.encodeBase64(result);
        return result;
    }

    /**
     * @Desc: 处理响应的结果 返回json字符串 并打印日志信息
     * @Title: 处理响应的结果 返回json字符串 并打印日志信息
     * @Author: zhaoyy 2016年10月18日 上午10:01:09
     * @param response
     * @return
     */
    protected String decorateResult(String title, BaseResponse response) {
        String result = JsonUtils.toJson(response);
        // 日志记录响应json
        if (MobileReturnCodeSupport.CODE_SUCCESS.equals(response.getResultCode())) {
            LogUtils.info(title + "返回结果【" + result + "】");
        } else {
            LogUtils.error(title + "返回结果【" + result + "】");
        }
        result = EncryptUtil.encodeBase64(result);
        return result;
    }
}
